<?php
  /*
    变量的检测与删除  
      --  检测也就是判断是否有某个变量  

      在PHP中使用 isset()方法来检查是否含有某个变量  使用unset()来手动的删除一个变量
  */ 
  $name = 'jimmy';
  $age = 22;
  echo isset($name);  # 1  有返回值  说明当前有这个变量
  echo isset($age); # 1  有返回值  说明当前有这个变量
  echo isset($sex); # 无打印的结果  说明的是没有这个变量
 
  var_dump(isset($name)); # boolean true
  var_dump(isset($age)); # boolean true
  var_dump(isset($sex)); # boolean false

  unset($name);
  echo isset($name); # 无返回值
  var_dump(isset($name));# boolean false

  /*
    通过以上我们可以知道  $name这个变量已经是被我们通过 unset()函数给删除掉了
  */ 

  /*
    unset()  并不是所有情况下都能成功的删除变量的  当我们在局部作用于中引全局变量 像删除全局变量
      这时候使用 unset() 是删除不成功的  也可以理解  如果这个可以删的话  那么就太bug了
  */ 
  show();
  function show(){
    global $age;
    echo $age;
    unset($age);
    # echo $age  当在局部作用域中删除了全局的引用之后 ，  在局部作用于中就不能继续使用这变量了
  };
  echo '<hr />';
  echo $age;  // 及时在局部作用域中被删除了一次  但是在全局中任然是可以用的  因为局部的权限并没有那么大 可以删除全局的代码